#pragma once

#include "../SGD Wrappers/SGD_Geometry.h"

class Tile {

		//	Tile data
	unsigned int m_type;

	SGD::Point m_gridPosition;
	SGD::Point m_worldPosition;

	SGD::Rectangle collisionrect;	

public:

	Tile();
	Tile(SGD::Point gridposition, SGD::Point worldPosition, unsigned int type);
	~Tile();

		//	Accessors
	unsigned int GetTileType()		{ return m_type; }
	SGD::Point GetGridPosition()	{ return m_gridPosition; }
	SGD::Point GetWorldPosition()	{ return m_worldPosition; }
	SGD::Rectangle GetTileRect()	{ return collisionrect; }
	
		//	Mutators
	void SetTileType(unsigned int t)	 { m_type = t; }
	void SetGridPosition(SGD::Point p)	 { m_gridPosition = p; }
	void SetWorldPosition(SGD::Point p)	 { m_worldPosition = p; }	
	void SetTileRect(SGD::Rectangle rect){ collisionrect = rect; }
};